package simpleTaskDispatcher.model.enums;

public enum DispatchingEvent {

	UNKNOWN,
	
	
	/**
	 * Maybe the user released workers without assigning them to tasks. Maybe some workers could not be assigned to a task queue (to much workers). Maybe a task queue closed.
	 */
	USER_RELEASED_TO_MUCH_WORKERS_WHILE_DISPATCHING,
	
	/**
	 * The user changed the minimal number of workers.
	 */
	MINIMAL_WORKERS_CHANGED,
	
	/**
	 * The user changed the optimal number of workers.
	 */
	OPTIMAL_WORKERS_CHANGED,
	
	/**
	 * The user changed the maximum number of workers. Some workers be have be released automatically
	 */
	MAXIMAL_WORKERS_CHANGED,
	
	/**
	 * A Redispatch task is executed in one of the task lists
	 */
	REQUESTED_BY_TASK,

	/**
	 * A task queue has been created
	 */
	NEW_TASK_FEED,

	/**
	 * The user released workers
	 */
	USER_RELEASED_TASK_FEED_WORKER,

	/**
	 * A task queue is terminated, freeing some workers 
	 */
	TASK_FEED_TERMINATED, 
	
	/**
	 * New workers were added in the pool
	 */
	NEW_WORKER,

	/**
	 * User called the doDispatch() method on a task queue
	 */
	REQUESTED_BY_USER, 
	
	/**
	 * A redispatch sent every certain amount of time
	 */
	TIMER;

}
